package cn.classyex.business.hr.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 薪资发放记录管理对象 hr_employee_salary_record
 * 
 * @author yex
 * @date 2021-05-06
 */
public class EmployeeSalaryRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 员工薪资发放记录id */
    private Long employeeSalaryId;

    /** 员工id */
    @Excel(name = "员工id")
    private Long employeeId;

    /** 员工姓名 */
    @Excel(name = "员工姓名")
    private String employeeName;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 部门名称 */
    @Excel(name = "部门名称")
    private String deptName;

    /** 岗位id */
    @Excel(name = "岗位id")
    private Long postId;

    /** 岗位名称 */
    @Excel(name = "岗位名称")
    private String postName;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal basicSalary;

    /** 出勤天数 */
    @Excel(name = "出勤天数")
    private Long attendDay;

    /** 出勤工资 */
    @Excel(name = "出勤工资")
    private BigDecimal attendSalary;

    /** 绩效工资 */
    @Excel(name = "绩效工资")
    private BigDecimal meritSalary;

    /** 职务补贴 */
    @Excel(name = "职务补贴")
    private BigDecimal postSalary;

    /** 午餐补贴 */
    @Excel(name = "午餐补贴")
    private BigDecimal lunchSalary;

    /** 职务补贴 */
    @Excel(name = "职务补贴")
    private BigDecimal trafficSalary;

    /** 其他奖金 */
    @Excel(name = "其他奖金")
    private BigDecimal otherSalary;

    /** 加班天数 */
    @Excel(name = "加班天数")
    private Long overtimeWorkDay;

    /** 加班工资 */
    @Excel(name = "加班工资")
    private BigDecimal overtimeWorkSalary;

    /** 请假天数 */
    @Excel(name = "请假天数")
    private Long absentDay;

    /** 请假工资 */
    @Excel(name = "请假工资")
    private BigDecimal absentSalary;

    /** 社保 */
    @Excel(name = "社保")
    private BigDecimal socialSecurity;

    /** 个税 */
    @Excel(name = "个税")
    private BigDecimal personalTax;

    /** 其他扣款 */
    @Excel(name = "其他扣款")
    private BigDecimal otherDeduct;

    /** 应发工资 */
    @Excel(name = "应发工资")
    private BigDecimal allSalary;

    /** 实发工资 */
    @Excel(name = "实发工资")
    private BigDecimal actualSalary;

    /** 工资月份 */
    @Excel(name = "工资月份")
    private String salaryMonth;

    /** 发放日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发放日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date payDate;

    /** 有效状态 */
    @Excel(name = "有效状态")
    private String status;

    public void setEmployeeSalaryId(Long employeeSalaryId) 
    {
        this.employeeSalaryId = employeeSalaryId;
    }

    public Long getEmployeeSalaryId() 
    {
        return employeeSalaryId;
    }
    public void setEmployeeId(Long employeeId) 
    {
        this.employeeId = employeeId;
    }

    public Long getEmployeeId() 
    {
        return employeeId;
    }
    public void setEmployeeName(String employeeName) 
    {
        this.employeeName = employeeName;
    }

    public String getEmployeeName() 
    {
        return employeeName;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setDeptName(String deptName) 
    {
        this.deptName = deptName;
    }

    public String getDeptName() 
    {
        return deptName;
    }
    public void setPostId(Long postId) 
    {
        this.postId = postId;
    }

    public Long getPostId() 
    {
        return postId;
    }
    public void setPostName(String postName) 
    {
        this.postName = postName;
    }

    public String getPostName() 
    {
        return postName;
    }
    public void setBasicSalary(BigDecimal basicSalary) 
    {
        this.basicSalary = basicSalary;
    }

    public BigDecimal getBasicSalary() 
    {
        return basicSalary;
    }
    public void setAttendDay(Long attendDay) 
    {
        this.attendDay = attendDay;
    }

    public Long getAttendDay() 
    {
        return attendDay;
    }
    public void setAttendSalary(BigDecimal attendSalary) 
    {
        this.attendSalary = attendSalary;
    }

    public BigDecimal getAttendSalary() 
    {
        return attendSalary;
    }
    public void setMeritSalary(BigDecimal meritSalary) 
    {
        this.meritSalary = meritSalary;
    }

    public BigDecimal getMeritSalary() 
    {
        return meritSalary;
    }
    public void setPostSalary(BigDecimal postSalary) 
    {
        this.postSalary = postSalary;
    }

    public BigDecimal getPostSalary() 
    {
        return postSalary;
    }
    public void setLunchSalary(BigDecimal lunchSalary) 
    {
        this.lunchSalary = lunchSalary;
    }

    public BigDecimal getLunchSalary() 
    {
        return lunchSalary;
    }
    public void setTrafficSalary(BigDecimal trafficSalary) 
    {
        this.trafficSalary = trafficSalary;
    }

    public BigDecimal getTrafficSalary() 
    {
        return trafficSalary;
    }
    public void setOtherSalary(BigDecimal otherSalary) 
    {
        this.otherSalary = otherSalary;
    }

    public BigDecimal getOtherSalary() 
    {
        return otherSalary;
    }
    public void setOvertimeWorkDay(Long overtimeWorkDay) 
    {
        this.overtimeWorkDay = overtimeWorkDay;
    }

    public Long getOvertimeWorkDay() 
    {
        return overtimeWorkDay;
    }
    public void setOvertimeWorkSalary(BigDecimal overtimeWorkSalary) 
    {
        this.overtimeWorkSalary = overtimeWorkSalary;
    }

    public BigDecimal getOvertimeWorkSalary() 
    {
        return overtimeWorkSalary;
    }
    public void setAbsentDay(Long absentDay) 
    {
        this.absentDay = absentDay;
    }

    public Long getAbsentDay() 
    {
        return absentDay;
    }
    public void setAbsentSalary(BigDecimal absentSalary) 
    {
        this.absentSalary = absentSalary;
    }

    public BigDecimal getAbsentSalary() 
    {
        return absentSalary;
    }
    public void setSocialSecurity(BigDecimal socialSecurity) 
    {
        this.socialSecurity = socialSecurity;
    }

    public BigDecimal getSocialSecurity() 
    {
        return socialSecurity;
    }
    public void setPersonalTax(BigDecimal personalTax) 
    {
        this.personalTax = personalTax;
    }

    public BigDecimal getPersonalTax() 
    {
        return personalTax;
    }
    public void setOtherDeduct(BigDecimal otherDeduct) 
    {
        this.otherDeduct = otherDeduct;
    }

    public BigDecimal getOtherDeduct() 
    {
        return otherDeduct;
    }
    public void setAllSalary(BigDecimal allSalary) 
    {
        this.allSalary = allSalary;
    }

    public BigDecimal getAllSalary() 
    {
        return allSalary;
    }
    public void setActualSalary(BigDecimal actualSalary) 
    {
        this.actualSalary = actualSalary;
    }

    public BigDecimal getActualSalary() 
    {
        return actualSalary;
    }
    public void setSalaryMonth(String salaryMonth) 
    {
        this.salaryMonth = salaryMonth;
    }

    public String getSalaryMonth() 
    {
        return salaryMonth;
    }
    public void setPayDate(Date payDate) 
    {
        this.payDate = payDate;
    }

    public Date getPayDate() 
    {
        return payDate;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("employeeSalaryId", getEmployeeSalaryId())
            .append("employeeId", getEmployeeId())
            .append("employeeName", getEmployeeName())
            .append("deptId", getDeptId())
            .append("deptName", getDeptName())
            .append("postId", getPostId())
            .append("postName", getPostName())
            .append("basicSalary", getBasicSalary())
            .append("attendDay", getAttendDay())
            .append("attendSalary", getAttendSalary())
            .append("meritSalary", getMeritSalary())
            .append("postSalary", getPostSalary())
            .append("lunchSalary", getLunchSalary())
            .append("trafficSalary", getTrafficSalary())
            .append("otherSalary", getOtherSalary())
            .append("overtimeWorkDay", getOvertimeWorkDay())
            .append("overtimeWorkSalary", getOvertimeWorkSalary())
            .append("absentDay", getAbsentDay())
            .append("absentSalary", getAbsentSalary())
            .append("socialSecurity", getSocialSecurity())
            .append("personalTax", getPersonalTax())
            .append("otherDeduct", getOtherDeduct())
            .append("allSalary", getAllSalary())
            .append("actualSalary", getActualSalary())
            .append("salaryMonth", getSalaryMonth())
            .append("payDate", getPayDate())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
